<?php
/**
 * Created by PhpStorm.
 * User: edmmss
 * Date: 2019/1/28
 * Time: 09:37
 */

namespace app\modules\repository\controller;

use app\modules\repository\MemoryStorage;
use app\modules\repository\Post;
use app\modules\repository\PostRepository;
use yii\web\Controller;

class DefaultController extends Controller
{
    /**
     * 资源库模式示例
     *
     * 该模式通过提供集合风格的接口来访问领域对象，从而协调领域和数据映射层
     * 资料库模式封装了一组存储在数据存储器里的对象和操作它们的方面，这样子为数据持久化层提供了更加面向对象的视角
     * 资料库模式同时也达到了领域层与数据映射层之间清晰分离，单向依赖的目的
     *
     * @date   2019/1/28
     * @author edmmss
     * @return bool
     */
    public function actionIndex()
    {
        $repository = new PostRepository(new MemoryStorage());
        $post = new Post(null, 'edmmss_title', 'edmmss_text');
        $repository->save($post);

        var_dump($post->getId());

        $postRepository = $repository->findById(1);
        var_dump($postRepository);

        return true;
    }
}